package com.xqboss.apps.mapper.synthesis;

import com.xqboss.apps.domain.synthesis.SynthesisStock;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * <p>
 * 合成库存 Mapper 接口
 * </p>
 *
 * @author 木鱼
 * @since 2023-11-17
 */
@Mapper
@Repository
public interface SynthesisStockMapper extends BaseMapper<SynthesisStock> {

    /**
     * 增加合成份数
     * @param id
     * @param num
     */
    boolean addTotalStock(@Param("id") Long id,
                          @Param("num") Integer num);

    /**
     * 扣除合成份数
     * @param id
     * @param num
     * @return
     */
    boolean rollbackTotalStock(@Param("id") Long id,
                               @Param("num") Integer num);

    /**
     * 增加白名单库存
     * @param id
     * @param num
     * @return
     */
    boolean addWhiteStock(@Param("id") Long id,
                          @Param("num") Integer num);

    /**
     * 扣除白名单库存
     * @param id
     * @param num
     * @return
     */
    boolean rollbackWhiteStock(@Param("id") Long id,
                               @Param("num") Integer num);


    /**
     * 增加虚拟销量
     * @param id
     * @param num
     * @return
     */
    boolean addSimulatedSales(@Param("id") Long id,
                              @Param("num") Integer num);

    /**
     * 增加白名单虚拟销量
     * @param id
     * @param num
     * @return
     */
    boolean addWhiteSimulatedSales(@Param("id") Long id,
                              @Param("num") Integer num);

}
